package com.example.fitnessservice.module.utils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class TimeUtils {
    //获取当前时间的Date类型数据
    public static Date getNowTime() throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date now = new Date(System.currentTimeMillis());
        String format = sdf.format(now);
        return sdf.parse(format);
    }

    public static Date getNowTime2() throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dds");
        Date now = new Date(System.currentTimeMillis());
        String format = sdf.format(now);
        return sdf.parse(format);
    }
/*
1：未开始
0：进行中
-1：已结束
 */

    public static Integer getState(Date startTime, Date endTime) {
        int i = startTime.compareTo(new Date());
        Date date = new Date();
        int j = date.compareTo(endTime);
        if (i > 0) {
//            start大于当前时间,未开始
            return 1;
        } else if (j <= 0) {
//            当前时间大于start,但是小于等于end,表示进行中
            return 0;
        } else {
//            当前时间大于结束时间，表示已结束
            return -1;
        }

    }
    /**
     *
     * @param date
     * @param day
     * @return
     * @Author feng
     * @throws ParseException
     * @descript 添加天数数，返回新时间
     */
    public static Date addDate(Date date,long day) throws ParseException {
        long time = date.getTime(); // 得到指定日期的毫秒数
        day = day*24*60*60*1000; // 要加上的天数转换成毫秒数
        time+=day; // 相加得到新的毫秒数
        return new Date(time); // 将毫秒数转换成日期
    }

    /**
     *
     * @param date
     * @param minutes
     * @return
     * @Author feng
     * @descript 添加分钟数，返回新时间
     */
    public static Date addMinutes(Date date, long minutes) {
        long time = date.getTime();
        minutes = minutes * 60 * 1000;
        time += minutes;
        return new Date(time);
    }
    //获取当前时间的Date类型数据

/*
1：未开始
0：进行中
-1：已结束
 */


    public static Date getNewDate(Date date, Integer interval) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.DATE, interval);
        return calendar.getTime();
    }

}
